之前也一直有在了解MVVM设计模式,但是一直对其交互有些不解,所以一直都没有使用MVVM模式来写项目,最近看了一篇博客iOS 从MVP到MVVM,感觉作者写的挺好的,让我理解到了MVVM的一些思路,在这里做一个记录;

####MVVM

M:数据模型层,主要管理从服务器返回的数据,可以被ViewModel持有;
V:视图层,负责UI界面的展示,不能持有Model,可以在控制器(C)对View设置展示数据;
VM: 主要负责界面逻辑,以及数据的转换,是View与Model的桥梁

界面的交互操作通过协议(代理)来实现,更新状态